package com.hifar.test.syncData.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hifar.test.syncData.pojo.HfEnvSyncDataImportTask;

import java.io.File;
import java.math.BigDecimal;

/**
 * @author zhuWeiWei
 * @description: 数据同步-导入数据
 * @date 2025/6/10 16:29
 */
public interface IHfEnvSyncDataImportTaskService extends IService<HfEnvSyncDataImportTask> {
    /**
     * 解压导入的附件
     *
     * @param importTask 导入任务
     * @return
     */
    File extractSyncImportFile(HfEnvSyncDataImportTask importTask);

    /**
     * 导入任务失败
     *
     * @param taskId  任务id
     * @param remarks 备注
     */
    void taskError(String taskId, String remarks);


    /**
     * 更新进度条
     *
     * @param taskId
     * @return
     */
    void updateSchedule(String taskId, BigDecimal schedule,String status);


    /**
     * 任务完成 更新状态
     *
     * @param taskId
     * @return
     */
    void taskFinish(String taskId);

    /**
     * 导入数据信息
     *
     * @param taskId 任务id
     * @param file   导入解压文件
     */
    void importDbData(String taskId, File file);

    /**
     * 导入附件信息
     *
     * @param taskId 任务id
     * @param file   导入解压文件
     */
    void importFileData(String taskId, File file);

    /**
     * 导入数据库信息
     *
     * @param taskId    任务id
     * @param tableName 表名称
     * @param file      导入文件
     */
    void importDbData(String taskId, String tableName, File file);
}
